This invention relates to the field of electronic transaction processing and more specifically to a method and means for encoding communications on a conventional computer network between a plurality of remote terminals and a host computer using an encryption technique wherein a unique key is generated by the host computer for each terminal and for every transaction or selected number of transactions by that terminal.
The advent of electronic financial transaction processing has precipitated an unprecedented revolution in the manner in which commercial transactions are conducted. Transactions which previously required the physical transfer of currency or commercial paper, such as bank checks, are now executed electronically using computers.
Over the past several years, electronic financial transaction processing has become commonplace. Ordinary consumers may now purchase groceries, gasoline, and airline tickets using an automated teller card or credit card issued to them by their respective banks. In using electronic financial transaction processing to purchase such goods and services, consumers electronically transfer funds from their own bank or credit account to the account of the respective vendor. Hence, electronic financial transaction processing eliminates the consumer's need to carry currency or checks.
Electronic financial transaction processing, as implemented in the context of common consumer use, is generally implemented in one of two ways.
The first most common implementation of electronic financial transaction processing is the automated teller machine, commonly referred to as an ATM. Over the past several years, the use of ATMs has become so widespread that it is virtually an indispensable convenience which banking customers have come to expect as a standard banking service. Generally accessible twenty-four hours a day, ATMs are commonly located at the bank site or in consumer-populated areas such as shopping centers or airports. The banking customer can use the ATM to perform most routine banking transactions such as deposits and withdrawals, account balance updates, credit card payments and so forth.
The second most common implementation of electronic financial transaction processing is the point-of-sale terminal, commonly referred to as a POS terminal. Currently, point-of-sale terminals are most commonly found at gasoline stations and grocery stores. Rather than paying for purchases by check or with cash, consumers use their electronic banking card or credit card to "pay" for their purchase by electronically transferring funds from their own account to the vendor's account. Accordingly, consumers may shop and travel without the requirement that they carry a large amount of cash in order to make purchases.
Electronic financial transaction processing, however, has created a wide variety of security problems unique to the art. While electronic financial transaction processing is highly desirable due to the the elimination of the requirement of carrying cash to make purchases and is an efficient way to accomplish transactions without substantial human intervention, security concerns are of paramount importance as the potential for abuse is considerable. Unauthorized persons, commonly referred to in the trade as "adversaries," could gain access to the electronic financial transaction processing system and conduct a wide variety of damaging fraudulent transactions. Hence, as the vault is critical to the protection of currency and commercial paper, an effective means of securing the electronic financial transaction processing system is likewise essential to the electronic financial transaction processing art.
In most existing electronic financial transaction processing systems, the bank or other card-issuing institution issues the customer a card which has been magnetically encoded with the user's account number. The bank likewise issues or permits the customer to select a personal identification number (PIN), known only to the customer, to be used in authorizing the customer's access to the electronic financial transaction processing system at the time of a given transaction. Normally, the PIN is memorized by the customer. The PIN and card enable customer access to the system and, when properly used by the individual, provide the desired access to the system.
When a customer desires to perform an electronic transaction in such a prior art system, he will enter his PIN at the ATM or POS terminal prior to proceeding with the transaction. This ATM or POS terminal also will read the card of the individual keying in the PIN. An identity verification is then typically accomplished by a comparison of the PIN or other number derived from the PIN and the customer's account number with the records of the issuing institution. Accordingly, the PIN, which is the basis for the verification process, must usually be transmitted from the ATM or POS terminal to a remote processing station or host computer for processing.
Although the above-described card and PIN system provides some protection, this system alone is not sufficiently secure to confidently maintain the integrity of the electronic financial transaction processing system.
The system is vulnerable, if, for example, the PIN itself is transmitted in an unencrypted state to a remote processing station. An adversary monitoring the transmission lines or other channel of communication could intercept the PIN and, using this information, be able to gain unauthorized access to the customer's accounts. Hence, it is not desirable to transmit the PIN from the ATM or POS terminal to the remote processing station, at least not in an unencrypted form.
Consequently, in many existing systems the PIN is transmitted from the ATM or POS terminal in encrypted form. In such a system, the PIN is encrypted using a predetermined number, known as a "key," to produce an encrypted PIN. Theoretically, the PIN, when it is transmitted to the remote processing station, is secure because it has been encrypted using a key known only to the card-issuing institution. However, if an adversary ascertains the key, the system is no longer secure as the PIN may be determined if the encryption process can be reversed.
Unauthorized acquisition of the key is a particular problem in the POS terminal environment. In the POS terminal environment, the key is typically resident within the terminal itself so as to enable on-site encryption prior to transmission. Because the POS terminal units are generally portable, there is a substantial risk that the terminal might be stolen and/or disassembled and the key ascertained. In such a scenario, the system once again becomes vulnerable because an adversary could use the key to decrypt other transmitted encrypted PINs.
Prior art improved data transmission encryption systems are also known in which a unique key is used for each transaction between a host computer and a particular terminal. In one such system, each terminal includes 21 unique key registers in which the unique keys are stored. In that system, a total of 2.sup.21 unique keys are therefore available for sequential use by the terminal to encode data transmissions between it and the host computer. Such a system is memory intensive in that it requires a large amount of non-volatile memory in each of the terminals to store the variety of keys used. The host system stores one unique host key which is used to decode the variety of transmissions from the terminals used in the system. Thus, the sequence of unique keys used to encode the transmissions is totally controlled by each particular terminal, rather than the host computer.
In this prior art system, once a key is used by the terminal to encode a particular data transmission, that particular key is discarded and the next key in the sequence is used for a next data transaction. Thus, the number of transactions is related to the number of keys stored in the terminal's non-volatile memory. The number of transactions is limited to 2.sup.N where N is the maximum number of key registers available in memory. Further, in a practical sense, requiring a large amount of non-volatile memory in such systems makes them more expensive to produce due to the high cost of the nonvolatile memory chips used in the terminal.
Another disadvantage of such systems is that, once all the unique keys in the terminal are exhausted, the terminal must be retrieved from its remote location to perform a key change. Thus, the terminal must be retrieved from the field at regular intervals, based on the frequency of its use, to allow for such unique keys changes. Further, if one desired for security reasons to change the host system key, all keys used in the remote terminals would also be required to be changed. Since this would again require retrieving all terminals from their remote location, such a change in the host system key is very difficult to complete.
Accordingly, it is an object of the present invention to provide a data encryption system wherein the encryption key cannot be discovered by monitoring historical transactions.
It is another object of the present invention to provide a data encryption system wherein a plurality of encryption keys are generated by the host computer system as a function of a single master key in the host system, thereby enabling those encryption keys stored at remote terminals to be updated with new unique keys by the host system after each transaction or periodically as desired by the host computer.
It is another object of the present invention to provide a data encryption system which provides a different encryption key for each secure data transmission between a particular terminal and a host system.
It is a further object of the invention to provide a secure encryption system which requires a minimum amount of non-volatile computer memory storage.
It is a further object of the invention to provide an encryption system whose encryption keys are secure against unauthorized physical access into any remote terminal.
It is a further object of the invention to provide an encryption system wherein a plurality of encryption keys are generated as a function of a single master key stored in the host computer and wherein said plurality of encryption keys may be altered by alteration of said single master key stored in the host computer.